Jerry's Log

RSS & Working Set

contents

Resident Set Size (RSS)와 Working Set(작업 집합)은 운영체제가 프로세스의 메모리 사용량을 설명하고 관리하는 데 사용하는 핵심 개념입니다. 이 두 용어는 프로세스가 현재 물리 메모리(RAM)를 얼마나 사용하고 있는지를 나타내지만, 서로 다른 관점을 가집니다.


1. Resident Set Size (RSS) 🧠

RSS는 프로세스가 현재 사용하고 있으며 물리적 RAM에 상주하는(Resident) 메모리의 양입니다. 이는 프로세스에게 할당되었지만 디스크의 스왑 공간(swap space)으로 옮겨지지 않고 RAM에 남아 있는 모든 페이지를 포함합니다.


2. Working Set (WS) ⚙️

Working Set은 프로세스의 메모리 페이지 중 특정 시간 간격 동안 가장 최근에 활발하게 참조된 페이지들의 집합입니다. 이는 프로세스가 현재 원활하게 실행되기 위해 필요로 하는 메모리 양을 나타냅니다.

RSS와 Working Set의 관계

Working Set은 항상 RSS에 포함되거나 RSS와 동일해야 합니다.


3. 큰 그림: 가상 메모리 관점 (VIRT vs. RES vs. WS)

용어 약자 설명 의미
가상 크기 VIRT / VSZ 프로세스가 접근할 수 있는 총 가상 메모리의 양. (코드, 데이터, 스왑된 메모리, 공유 라이브러리 모두 포함). 가장 큰 값. 실제 RAM 사용량 아님.
상주 세트 크기 RES / RSS VIRT 중에서 현재 물리적 RAM에 적재되어 있는 부분. 실제 RAM 사용량.
작업 집합 WS RES 중에서 프로세스가 활발히 사용 중인 부분 (참조의 지역성에 기반). 메모리 수요(Demand)를 나타냄.

4. 성능 모니터링에서의 중요성

이러한 지표를 모니터링하는 것은 시스템의 건강을 진단하는 데 필수적입니다.

references